<template>
  <footer class="footer">
    <span class="todo-count"
      >剩余<strong>{{ spTodos }}</strong></span
    >
    <ul class="filters">
      <li>
        <a
          :class="{ selected: state === 'all' }"
          @click="$emit('changeState', 'all')"
          href="javascript:;"
          >全部</a
        >
      </li>
      <li>
        <a
          :class="{ selected: state === 'unfinished' }"
          @click="$emit('changeState', 'unfinished')"
          href="javascript:;"
          >未完成</a
        >
      </li>
      <li>
        <a
          :class="{ selected: state === 'finished' }"
          @click="$emit('changeState', 'finished')"
          href="javascript:;"
          >已完成</a
        >
      </li>
    </ul>
    <!-- 逻辑简答可以写行内 this省略不要 -->
    <button @click="$emit('clearFinished')" class="clear-completed">
      清除已完成
    </button>
  </footer>
</template>

<script>
export default {
  name: 'TodoFooter',
  props: {
    // 接收list属性 类型为 数组
    list: {
      type: Array
    },
    // 接收state 类型是字符串
    state: {
      type: String
    }
  },
  // 计算属性
  computed: {
    // 剩余的todo isDone false
    spTodos () {
      // 简化写法，可读性较差
      return this.list.filter(v => v.isDone === false).length

      // 完整写法
      // 可以通过this 获取到数据
      // const resArr = this.list.filter(v => {
      //   // 完成状态为false
      //   if (v.isDone === false) {
      //     // 保留这个元素 获取的是 未完成的个数
      //     return true
      //   } else {
      //     // 已完成的不需要
      //     return false
      //   }
      // })
      // // 计算出结果 并返回
      // return resArr.length
    }
  }
}
</script>
